메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

FreeBSD와 FreeBSD 듀얼 부팅하기

한빛미디어

|

2002-06-18

|

by HANBIT

8,792

저자: 마이클 루카스, 역 신동섭

필자는 현재 FreeBSD를 테스트해서 더 좋은 제품을 만들어 낼 수 있다면 정신적 건강까지도 희생할 준비가 된 사람이다. FreeBSD 5.0에 접근하고자 하기 때문에 FreeBSD 프로젝트는 아주 다양한 인스톨 환경에서 현재 테스트 할 수 있는 사람이 필요하다.

이는 내 가족을 지원할 것인지 아니면 FreeBSD를 지원할 것인지에 대해 논쟁거리가 될 수 있다. 필자는 어떠한 순간에도 동작하는 유닉스 시스템이 필요하다. 내가 머리를 많이 쓰고 난 후 현재 작업을 할 수는 있지만 항상 이 작업을 할 시간은 없다. 만약 필자가 아침에 업무를 보러 가서 "현재 FreeBSD가 지난 밤에 문제가 생겨 랩탑이 완전히 나가 버렸구나"라고 말했을 경우 고객은 필자가 일을 할 수가 없다는 이야기를 듣게 될 것이다. 이는 내가 관심을 주지 않아서 고장이 났다는 것을 의미한다. 필자가 OS뿐만 아니라 데이터까지 보관해야 하는 한, 빨리 재인스톨 한다고 하더라도 완벽한 해답을 제시하는 것은 아니다.

매일 밤 데이터를 백업하는 것은 고통스러울 정도로 너무 힘든 일이다. 그래서 필자는 예비 FreeBSD와 현재 FreeBSD를 듀얼 부팅하기로 결정했다. 만약 현재 시스템에 문제가 있으면 예비시스템으로 부팅할 수 있기 때문에 계속 살아 있게 된다. 이 방법으로 개인 데이터를 손실할 위험 없이 둘 모두의 운영체제들을 쉽게 다시 인스톨 할 수 있다. 그리고 만약 미리 계획을 세워 시간을 할애한다면 이 일은 쉽게 할 수 있다. 이 작업이 백업을 완전히 제거하는 것은 아니지만 시스템을 좀 더 깨어있게 할 수 있다.

우선 예비와 현재 시스템 모두를 운영할 수 있다는 믿음을 가질 필요는 있다. 현재 특정 버젼에서 동작하지 않는 랩탑을 가지고 있기 때문에 시스템이 특정 릴리즈 버전에서는 동작하지 않을 수도 있다. 따라서 현재와 예비 인스톨 미디어 두 개 모두 부팅 테스트를 해야 한다. 만약 인스톨 미디어 둘 세트로 sysinstall을 할 수 있다면 그 장비는 사용할 수 있다고 생각하면 된다.

필자의 시스템은 다소 큰 하드 드라이버를 가지고 있다. 예비와 현재 시스템에 각각 5GB를 할당하고 나머지는 개인 데이터로 할당했다. 그리고 MSDOS가 파티션을 일시중지 하기를 원한다(내가 일시 중지 후 다시 재 시작하기위해 이 특별한 랩탑의 비디오 카드를 얻은 적이 없는 동안 나는 계속 희망을 가지고 있다). 따라서 필자는 아래와 같이 하드 드라이브를 여러 개의 슬라이스로 나눌 계획이다.

ad0s1 MSDOS 파티션 일시중지 (400MB)
ad0s2 예비 인스톨 파티션 (5GB)
ad0s3 현재 인스톨 파티션 (5GB)
ad0s4 공유 데이터 (기타)

이제 설정을 다 했으니 이제 시작할 준비는 다 되었다. 예비시스템에 인스톨부터 해라. 슬라이스 생성 메뉴를 보게 되면 먼저 결정한 네 개의 슬라이스를 생성한 후 ad0s2으로 예비시스템에 완전히 인스톨해라. ad0s4 안에 단일 대형 파티션을 생성하기 위해 sysinstall을 실행하고 /shared로 마운트해라.

필자는 인스톨을 최적화하거나 또는 포트나 패키지를 더 이상 인스톨하지 않기를 권장한다. 시스템을 깨우고 최적화하느라 시간을 낭비하기 전에 두 운영체제부터 부팅해라.

작업이 끝나면 예비로 부팅해라. 과정을 시작하기 전에 작동해야 한다. 일단 예비 시스템 명령 프롬프트를 얻고 나면 현재 시스템 인스톨 미디어로 재부팅해라. 예비와 현재 시스템 인스톨 과정은 거의 동일하다. 따라서 별 어려움이 없이 진행할 수 있을 것이다.
Programming PHP


마운트 포인트를 생성할 수 있는 포션으로 갈 수 있을 때 예비와 공유 파티션을 무시하도록 한다! 필자는 뒤에 /etc/fstab을 편집해야 하는 어려움을 덜기 위해 이들을 마운트하려고 시도했지만 newfs는 하지 않았다. 그렇지만 하나의 오타는 예비시스템 인스톨을 빠져 나오도록 하는 sysinstall newfs를 낳은 결과가 된다. 안전상 훨씬 더 간단하다. 아무튼 간에 예비 파티션에 있는 기존의 스왑 공간을 재사용할 수 있다.

FreeBSD 부팅 관리자를 인스톨하도록 한다! 부팅 관리자는 어느 OS로 부팅해야 하는지를 결정해 줄 것이다.

일단 인스톨이 끝나고 나면 컴퓨터를 재부팅한다. FreeBSD버전들 중에서 하나를 선택할 수 있도록 해주는 부트 로더 화면이 보여야 한다. 예비와 현재 모두 부팅되고 동작되는 것을 확인해라. 그러면 모든 설정이 끝나게 된다!

이제 여러분은 일부 특정 최적화과정을 해볼 수 있다. 각각의 버전별로 따로 선호하는 소프트웨어(X, 윈도우 관리자, IDE, 등등)을 인스톨해라. 최고의 안정성을 위해서는 현재 소프트웨어 아래에 있는 예비 소프트웨어를 사용해서는 안된다. 예비 소프트웨어 아래에 있는 현재 소프트웨어를 동작시키는데 그렇게 많은 행운이 따르지 않기 때문이다.

필자는 언제라도 현재 인스톨을 포맷하고 재인스톨 할 수 있다. 따라서 그곳에 어떠한 개인 데이터라도 보관하고 싶지 않다. 필자의 홈 디렉토리는 /shared아래 인스톨 되기고자 한다. 대개는 /shared/home/username와 같이 홈 디렉토리를 생성한다.

만약 대형 공유 파티션이 있다면 그곳으로 다양한 파일들을 옮길 수 있다는 장점이 있다. 예를 들어 Ports Collection은 예비와 현재에서 동일하다. 따라서 이것을 /shared/usr/ports로 인스톨 할 수 있기 때문에 상당한 크기의 디스크 공간을 절약할 수 있다. make clean도 확실히 수행해야 한다. 마찬가지로 큰 리눅스 호환성 포트도 동일하기 대문에 이것을 /shared/usr/compat로 옮길 수 있다. 결국 /tmp/shared/tmp로 이동될 수 있다.

이들 모두를 위해 과거 위치를 새로운 위치로 대응하기 위해 symlinks를 사용하고 싶을 것이다.

마지막으로 다른 것들을 포함하도록 하기 위해 양쪽 인스톨에 대한 /etc/fstab를 편집하고 싶을 수도 있다. 내가 현재로 부팅할 때 시스템이 지금 어떻게 동작하는지는 다음과 같이 나타난다.
# df -h
Filesystem    Size   Used  Avail Capacity  Mounted on
/dev/ad0s3a   197M    65M   117M    36%    /
devfs         1.0K   1.0K     0B   100%    /dev
/dev/ad0s3f   4.5G   2.2G   2.0G    52%    /usr
/dev/ad0s3e   246M    11M   215M     5%    /var
/dev/ad0s2a   246M    39M   187M    17%    /stable
/dev/ad0s2f   4.4G   1.6G   2.5G    39%    /stable/usr
/dev/ad0s2e   246M    27M   200M    12%    /stable/var
/dev/ad0s4e    26G   8.0G    16G    33%    /shared
#
이 과정 후에 필자는 오늘이라도 현재시스템에 무슨 일이 일어난다면 언제든 동작할 수 있도록 준비가 되어있다. 필자의 데이터는 디스크 어디엔가 저장되어 있기 때문에 특별한 문제없이 각 운영체제를 재포멧하고 재인스톨 할 수 있다. 백업에서 데이터를 복원해야 하는 유일한 경우는 어느 파일시스템 버그를 가질 경우뿐이다. 이는 예를 들어 X가 시작하지 않는 곳에서와 같이 일시적인 문제들과 비교해 보았을 때 거의 발생하지 않는 드문 경우이다. 그리고 일이나 저녁 둘 중 하나를 빼 먹는 것 보다는 그 문제 해결을 위해 그 주말까지 기다리는 게 더 낫다.

마이클 루카스(Michael Lucas)는 아내 리즈와 함께 애완동물을 키우면서 미시간주 디트로이트에서 살고 있다. 자기가 가진 모든 문제는 Great Lakes Technologies Group이라고 하지만 어쨌든 그곳에서 네트워크 설계자로 일하고 있다.
TAG :
댓글 입력
자료실

최근 본 책0